﻿using System.Diagnostics.Contracts;

namespace System.Reactive
{
	public sealed class AnonymousObservable<T> : ObservableBase<T>
	{
		public AnonymousObservable(Func<IObserver<T>, IDisposable> subscribe)
		{
			Contract.Requires(subscribe != null, null, "subscribe != null");
		}

		public override IDisposable SubscribeCore(IObserver<T> observer)
		{
			Contract.Requires(observer != null, null, "observer != null");
			return null;
		}
	}
}